library(RPostgreSQL)
library(sf)
library(plotly)
library(leaflet)
library(crosstalk)
pw <- scan("~/.pgpass2", what="")
conn = dbConnect(PostgreSQL(), dbname='nycgis', user='postgres', host='mlt_host', password=pw) 
boroughs <- st_read_db(conn=conn, table=c("staging","boroughs_nowater"))
           
boroughs$x <- seq(1:5)
boroughs$y <- seq(2,10,2)
boroughs_centroids <- st_transform(st_centroid(boroughs),crs = 4326)
sd_boroughs <- SharedData$new(boroughs_centroids)
test <- bscols(widths=c(3, NA, NA),
               list(filter_slider("x", "X Value", sd_boroughs, ~x, step=1, round=-1, sep=""),
                    filter_slider("y", "Y Value", sd_boroughs, ~y, step=1, round=1)),
              leaflet(sd_boroughs) %>% 
              addProviderTiles(providers$CartoDB.Positron) %>%
                addPolygons(data=st_transform(boroughs, crs=4326),color = "#444444", weight = 1, 
                            smoothFactor = 0.5,
                            opacity = 1.0, 
                            fillOpacity = 0.5,
                            fillColor = ~colorQuantile("Greens", x)(x), 
                            highlightOptions = highlightOptions(color = "white", weight = 2)) %>% 
                 addCircleMarkers(radius=5, stroke=TRUE, color="yellow", weight=1,fillColor = "#03F",
                               opacity=1,fillOpacity=1,popup=~boroname),
              plot_ly(sd_boroughs, x = ~x, y = ~y) %>% 
              add_markers(alpha = 0.5,text = ~paste('Borough: ', boroname)) %>%
              #hoverinfo = 'text',
              highlight("plotly_hover"))
test



LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCmF1dGhvcjogTWlrZSBUcmVnbGlhCi0tLQoKCgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmxpYnJhcnkoUlBvc3RncmVTUUwpCmxpYnJhcnkoc2YpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGxlYWZsZXQpCmxpYnJhcnkoY3Jvc3N0YWxrKQoKcHcgPC0gc2Nhbigifi8ucGdwYXNzMiIsIHdoYXQ9IiIpCgpjb25uID0gZGJDb25uZWN0KFBvc3RncmVTUUwoKSwgZGJuYW1lPSdueWNnaXMnLCB1c2VyPSdwb3N0Z3JlcycsIGhvc3Q9J21sdF9ob3N0JywgcGFzc3dvcmQ9cHcpIAoKYm9yb3VnaHMgPC0gc3RfcmVhZF9kYihjb25uPWNvbm4sIHRhYmxlPWMoInN0YWdpbmciLCJib3JvdWdoc19ub3dhdGVyIikpCiAgICAgICAgICAgCmJvcm91Z2hzJHggPC0gc2VxKDE6NSkKYm9yb3VnaHMkeSA8LSBzZXEoMiwxMCwyKQoKYGBgCgoKYGBge3IsIGVjaG89VFJVRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0UsIHJlc3VsdHM9J2hpZGUnfQpib3JvdWdoc19jZW50cm9pZHMgPC0gc3RfdHJhbnNmb3JtKHN0X2NlbnRyb2lkKGJvcm91Z2hzKSxjcnMgPSA0MzI2KQoKc2RfYm9yb3VnaHMgPC0gU2hhcmVkRGF0YSRuZXcoYm9yb3VnaHNfY2VudHJvaWRzKQoKdGVzdCA8LSBic2NvbHMod2lkdGhzPWMoMywgTkEsIE5BKSwKICAgICAgICAgICAgICAgbGlzdChmaWx0ZXJfc2xpZGVyKCJ4IiwgIlggVmFsdWUiLCBzZF9ib3JvdWdocywgfngsIHN0ZXA9MSwgcm91bmQ9LTEsIHNlcD0iIiksCiAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3NsaWRlcigieSIsICJZIFZhbHVlIiwgc2RfYm9yb3VnaHMsIH55LCBzdGVwPTEsIHJvdW5kPTEpKSwKICAgICAgICAgICAgICBsZWFmbGV0KHNkX2Jvcm91Z2hzKSAlPiUgCiAgICAgICAgICAgICAgYWRkUHJvdmlkZXJUaWxlcyhwcm92aWRlcnMkQ2FydG9EQi5Qb3NpdHJvbikgJT4lCiAgICAgICAgICAgICAgICBhZGRQb2x5Z29ucyhkYXRhPXN0X3RyYW5zZm9ybShib3JvdWdocywgY3JzPTQzMjYpLGNvbG9yID0gIiM0NDQ0NDQiLCB3ZWlnaHQgPSAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtb290aEZhY3RvciA9IDAuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSAxLjAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHkgPSAwLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3IgPSB+Y29sb3JRdWFudGlsZSgiR3JlZW5zIiwgeCkoeCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0T3B0aW9ucyA9IGhpZ2hsaWdodE9wdGlvbnMoY29sb3IgPSAid2hpdGUiLCB3ZWlnaHQgPSAyKSkgJT4lIAogICAgICAgICAgICAgICAgIGFkZENpcmNsZU1hcmtlcnMocmFkaXVzPTUsIHN0cm9rZT1UUlVFLCBjb2xvcj0ieWVsbG93Iiwgd2VpZ2h0PTEsZmlsbENvbG9yID0gIiMwM0YiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eT0xLGZpbGxPcGFjaXR5PTEscG9wdXA9fmJvcm9uYW1lKSwKICAgICAgICAgICAgICBwbG90X2x5KHNkX2Jvcm91Z2hzLCB4ID0gfngsIHkgPSB+eSkgJT4lIAogICAgICAgICAgICAgIGFkZF9tYXJrZXJzKGFscGhhID0gMC41LHRleHQgPSB+cGFzdGUoJ0Jvcm91Z2g6ICcsIGJvcm9uYW1lKSkgJT4lCgogICAgICAgICAgICAgICNob3ZlcmluZm8gPSAndGV4dCcsCiAgICAgICAgICAgICAgaGlnaGxpZ2h0KCJwbG90bHlfaG92ZXIiKSkKYGBgCgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgd2FybmluZz1GQUxTRX0KdGVzdApgYGAKCjxiciAvPgo8YnIgLz4K